package com.zy.cat.entity.dev.resp;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 
 * @info 9趣猫用户邀请好友返回信息
 * @author Link
 * @date 2019-10-30 09:14
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("9趣猫用户邀请奖励明细")
public class CatDevZJInviteDetailedResp {

	@JsonIgnore
	@ApiModelProperty(value = "用户id", example = "")
	private String pid;
	
	@ApiModelProperty(value = "邀请人数", example = "100")
	private long users;
	
	@ApiModelProperty(value = "待领邀请奖励（分）", example = "100")
	private long dincome;
	
	@ApiModelProperty(value = "邀请奖励（分）", example = "100")
	private long income;
	
	@ApiModelProperty(value = "累计奖励金额（分）", example = "100")
	private long cumulative;
	
	@ApiModelProperty(value = "待领取列表", example = "[]")
	@JsonProperty("unclaimed_list")
	private List<InvitedPersonData> unclaimedList;
	
	@ApiModelProperty(value = "已领取列表", example = "[]")
	@JsonProperty("received_list")
	private List<InvitedPersonData> receivedList;

	public CatDevZJInviteDetailedResp(String pid) {
		super();
		this.pid = pid;
	}
	
	@Data
	@NoArgsConstructor
	@AllArgsConstructor
	@ApiModel("被邀请用户奖励明细")
	public static class InvitedPersonData{
		
		@ApiModelProperty(value = "被邀请新人昵称", example = "")
		private String nikename;
		
		@ApiModelProperty(value = "被邀请新人头像", example = "http://")
		private String icon;
		
		@ApiModelProperty(value = "奖励类型（1.第一天登录奖励、2.第二天登录奖励金额、3.第三天登录奖励金额、4.购物奖励）", example = "1")
		private int itype;
		
		@JsonProperty("reward_msg")
		@ApiModelProperty(value = "奖励类型提示信息（第一天登录奖励、第二天登录奖励金额、第三天登录奖励金额、购物奖励）", example = "第一天登录奖励")
		private String rewardMsg;
		
		@JsonProperty("reward_amount")
		@ApiModelProperty(value = "奖励金额(分)", example = "300")
		private long rewardAmount;
		
		@JsonProperty("effective_days")
		@ApiModelProperty(value = "邀请有效剩余天数", example = "6")
		private int effectiveDays;
		
		@JsonIgnore
		@ApiModelProperty(value = "结束时间", example = "2019-12-30")
		private String endDate;
	}
}
